package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.JSONObjectPro;
import com.ruoyi.system.domain.RealtimePositioning;
import com.ruoyi.system.domain.request.realtimevideo.AlarmDataParam;
import com.ruoyi.system.domain.request.relatimepositioning.MapDeviceExportParam;
import com.ruoyi.system.domain.request.relatimepositioning.RegionDeviceParam;
import com.ruoyi.system.domain.request.reportstatistics.OriginalTrajectoryParam;
import com.ruoyi.system.domain.vo.common.DeviceGps;
import com.ruoyi.system.domain.vo.realtimepositioning.MapDeviceExport;
import com.ruoyi.system.domain.vo.realtimevideo.AlarmData;

import java.util.List;

/**
 * 描述 实时定位Service接口
 * 作者 ZhangPing
 * 创建时间 2023/8/16 16:58
 */
public interface IRealtimePositioningService {

    /**
     * 原始轨迹
     * @return
     */
    List<DeviceGps> originalTrajectory(OriginalTrajectoryParam param);

    /**
     * 获取定位信息
     */
    RealtimePositioning queryLastGps(String deviceId);

    /**
     * 获取地图设备列表
     * @return
     */
    List<JSONObjectPro> getMapDeviceList(Long orderStatus,Long companyId);

    /**
     * 获取设备实时视频通道号
     * @return
     */
    public String[] realtimeDeviceVideoList(String deviceId);

    /**
     * 区域查车
     * @param param
     * @return
     */
    public Object regionDeviceList(RegionDeviceParam param);

    /**
     * 设备数据导出
     * @return
     */
    public List<MapDeviceExport> mapDeviceExport(MapDeviceExportParam param);

    /**
     * 获取报警数据列表
     * @param params
     * @return
     */
    public List<AlarmData> alarmDataList(AlarmDataParam params);
}
